<?

include_once('../loader.inc.php');

// Obtengo la sesion
$session = Session::getInstance();

// Objeto de usuarios
$Usuarios = new Usuarios();
// Objeto de usuario
$Usuario = new Usuario();

// Estados de las citas
$estados = array('hechas', 'pendientes', 'canceladas');


/* Recepcion de datos
=================================================================================================== */



// Datos que llegan directo por htaccess

// Tomo la accion
if ($_REQUEST['mode'])
	$accion = $_REQUEST['mode'];
else
	$accion = 'listar';

// Tomo los parametros
if ($_REQUEST['params']) {
	$params_string = addslashes($_REQUEST['params']);
	// Guardamos una copia del string de los filtros con guiones
	$params_guiones = $params_string;
	// Y obtenemos el array de parametros
	$params = Funciones::getparams($params_string);
}

// Tomo los datos
$data = $_REQUEST['data'];

// Tomo los datos
$id = $_REQUEST['id'];


/* Acciones
=================================================================================================== */

// LISTAR USUARIOS

if ($accion == 'listar') {

	// Usuarios 
	$usuarios = $Usuarios->listar();	

}

// Agregar
if ($accion == 'agregar') {

	$id = $Usuarios->agregar($data['usuario']);
	$url = ($_REQUEST['redirect'])? $_REQUEST['redirect'].$id : '/ss/usuarios/';
	if (!$id) {
		$aviso['error'][] = array('usuario' => $data['usuario']['user'], 'texto' => $Usuarios->error());
	} else {
		$aviso['exito'][] = array('usuario' => $data['usuario']['user'], 'texto' => 'El usuario se ha podido agregar con &eacute;xito');
	}
	$aviso['accion'] = $accion;
	$aviso = json_encode($aviso);
	$session->setFlash($aviso);

	// Redirecciono a donde estaba
	header("Location: $url");
	exit;
}

// Modificar
if ($accion == 'modificar') {

	$id = $Usuario->modificar($data['usuario'], $data['usuario']['id_usuario']);

	$url = ($_REQUEST['redirect'])? $_REQUEST['redirect'] : '/ss/usuarios/';

	if (!$id) {
		$aviso['error'][] = array('usuario' => $data['usuario']['user'], 'texto' => $Usuario->error());
	} else {
		$aviso['exito'][] = array('usuario' => $data['usuario']['user'], 'texto' => 'El usuario se ha podido modificar con &eacute;xito');
	}

	$aviso['accion'] = $accion;
	$aviso = json_encode($aviso);
	$session->setFlash($aviso);
	// Redirecciono a donde estaba
	header("Location: $url");
	exit;
}


// VER USUARIO

if ($accion == 'ver') {

	if ($id) {
		// Buscamos los datos de ese usuario
		$usuario = $Usuario->get($id);
	
		// La cantidad de casos que tiene asignados, por estado
		$citas_usuario = $Usuario->citas($id);
		
		$usuario['citas'] = $citas_usuario;
	}

}

// EDITAR
if ($accion == 'editar') {
	if (!$id) {
		$form = 'agregar';
	} else {
		$form = 'modificar';
		$usuario['usuario'] = $Usuario->get($id);
	}
}

// Me fijo si puedo editar los permisos
if (ACL::get('ACL', 'AGREGAR', $_info['usuario']['id'])) {
	$editar =  true;
}

// Tomo el aviso, en caso de haberlo
$error = $session->getFlash();
$aviso = json_decode($error, true);
$verbo = $aviso['accion'];
// Agrupo los exitos si hay mas de uno
if ($aviso['exito']) {
	if (count($aviso['exito']) > 1) {
		$exito_global = count($aviso['exito']) . ' dominios se han podido ' . $verbo . ' con &eacute;xito';
	}
}

// Incluto la interfaz
include('includes/tpl/header.tpl.php');
include('includes/tpl/usuarios.tpl.php');
include('includes/tpl/footer.tpl.php');

?>
